_require       "./General.smi"
_require local "./IntInf.smi"
_require local "./SMLSharp_ScanChar.smi"
_require local "./String.smi"
_require       "./StringCvt.smi"

_use local     "./Int_common.sml"

structure Int8 =
struct
  val toLarge : int8 -> largeInt
  val fromLarge : largeInt -> int8
  val toInt = SMLSharp_Builtin.Int8.toInt32
  val fromInt = SMLSharp_Builtin.Int8.fromInt32
  val precision : int option
  val minInt : int8 option
  val maxInt : int8 option
  val + = SMLSharp_Builtin.Int8.add_unsafe
  val - = SMLSharp_Builtin.Int8.sub_unsafe
  val * = SMLSharp_Builtin.Int8.mul_unsafe
  val div = SMLSharp_Builtin.Int8.div
  val mod = SMLSharp_Builtin.Int8.mod
  val quot = SMLSharp_Builtin.Int8.quot
  val rem = SMLSharp_Builtin.Int8.rem
  val compare : int8 * int8 -> General.order
  val < = SMLSharp_Builtin.Int8.lt
  val <= = SMLSharp_Builtin.Int8.lteq
  val > = SMLSharp_Builtin.Int8.gt
  val >= = SMLSharp_Builtin.Int8.gteq
  val ~ = SMLSharp_Builtin.Int8.neg
  val abs = SMLSharp_Builtin.Int8.abs
  val min : int8 * int8 -> int8
  val max : int8 * int8 -> int8
  val sign : int8 -> int
  val sameSign : int8 * int8 -> bool
  val fmt : StringCvt.radix -> int8 -> string
  val toString : int8 -> string
  val scan : StringCvt.radix
             -> (char, 'a) StringCvt.reader
             -> (int8, 'a) StringCvt.reader
  val fromString : string -> int8 option
  type int = int8
end
